import { IAbility, IContext, IParam, IUIActionResult } from "@/core";
/**
 * 动态模板实体方法插件插件类
 *
 * @export
 * @class DynamicMethodPlugin
 */
export default class DynamicMethodPlugin {

    /**
     * 当前插件所属数据服务
     * 
     * @memberof DynamicMethodPlugin
     */
    private dataService:any;

    /**
     * Creates an instance of DynamicMethodPlugin.
     * @param {IParam} opts
     * @memberof DynamicMethodPlugin
     */
    public constructor(opts:IParam){
        this.dataService = opts;
    }


    /**
     * @description 执行界面行为
     * @param {IContext} context
     * @param {IParam} viewParams
     * @param {IParam[]} data
     * @param {MouseEvent} event
     * @param {IAbility} ability
     * @return {*}  {Promise<IUIActionResult>}
     * @memberof DynamicMethodPlugin
     */
    public async execute(context: IContext = {}, data: IParam | IParam[]): Promise<any> {
        throw new Error("应用实体方法插件内容暂未实现");
    }

}

